Faça uma busca:
Buscar
Mais pesquisados
Preço dos combustíveis
Pré-Sal
Time Petrobras
Title
Destaques
Title
Brasil de Energia
Os jornalistas Francisco José e Diógenes Dantas atravessam o Brasil para falar sobre transição energética justa na série documental "Um Brasil de Energia"
O uso deste material é autorizado apenas para fins editoriais.
Petrobras contrata tecnologia para produção de bioquerosene de aviação e diesel 100% renovável
Tecnologia HEFA será adotada na primeira planta de biorrefino da companhia na Refinaria Presidente Bernardes (RPBC), em Cubatão (SP). Unidade terá capacidade de processar 2.700 m³ por dia de óleos vegetais e gorduras animais
A Petrobras assinou contrato para aquisição da tecnologia HEFA (Hydroprocessed Esters and Fat Acids) junto à empresa Honeywell UOP, umas das licenciadoras mais reconhecidas mundialmente em soluções para produção de combustíveis.
Com a implantação da tecnologia HEFA, a Petrobras poderá produzir, na Refinaria Presidente Bernardes (RPBC), em Cubatão (SP), diesel 100% renovável (HVO) e Bioquerosene de Aviação - BioQav (SAF) a partir de correntes renováveis, como óleo de soja e sebo bovino.
A unidade HEFA da RPBC será inédita no parque de refino da empresa e terá capacidade de processar 2.700 m³/d de carga com proporção de 70% de óleo de soja e 30% de sebo bovino produzindo BioQav e Diesel Renovável.
“A iniciativa é um dos destaques do nosso Programa de BioRefino, crucial para entregarmos produtos com menos emissões de gases de efeito estufa, em linha com as demandas da sociedade e com um mundo em transformação”, enfatizou o diretor de Processos Industriais e Produtos, William França. “Este é um marco importante na trajetória de descarbonização da Petrobras. Já adaptamos algumas de nossas refinarias com unidades de coprocessamento capazes de produzir o Diesel R5, composto de diesel mineral com 5% de óleo vegetal”, complementa França.
A produção de BioQav é estratégica para a Petrobras uma vez que agrega valor ao parque de refino com processos mais eficientes e novos produtos, em direção a um mercado de baixo carbono.
"O licenciamento desta tecnologia que será usada na unidade de Cubatão se soma a uma série de soluções que a Petrobras vem adotando para transformar seu parque de refino num parque industrial que concilia a produção de derivados de petróleo com menor pegada de carbono e a produção de combustíveis com conteúdo renovável. Dentro desta estratégia, esse projeto na RPBC é o primeiro visando a produção de bioquerosene de aviação e diesel 100% renováveis", destacou o Gerente Executivo de Sistemas de Superfície, Refino, Gás e Energia, Cesar Cunha.
A produção está atrelada aos compromissos assumidos pelas empresas de aviação com o CORSIA a partir de 2027. O CORSIA (Carbon Offsetting and Reduction Scheme for International Aviation) é o programa da Organização da Aviação Civil Internacional (OACI) para a redução e compensação de emissões de CO2 provenientes dos voos internacionais. Seu objetivo é garantir que as emissões sejam estabilizadas nos níveis observados em 2020, sem que o setor aéreo precise parar de crescer.
Programa BioRefino
O Programa BioRefino da Petrobras prevê investimentos de US$ 1,5 bilhão nas refinarias para desenvolvimento de combustíveis mais modernos e sustentáveis. Entre os projetos, está a construção das duas plantas dedicadas para produção de BioQAV e Diesel 100% Renovável, além da expansão da produção de Diesel R, gerado por coprocessamento de diesel mineral com óleo vegetal, que contém parcela de diesel verde (HVO, em inglês), podendo variar de 5% (Diesel R5) até 10% (Diesel R10).
O Plano Estratégico da companhia contempla investimentos de US$ 11,5 bilhões com foco na transição energética direcionados a iniciativas de baixo carbono.
Downloads
Você pode se interessar por
Java method "com.liferay.journal.model.impl.JournalArticleImpl.getDocument()" threw an exception when invoked on com.liferay.journal.model.impl.JournalArticleImpl object "{\"mvccVersion\": 1, \"ctCollectionId\": 0, \"uuid\": \"190dec18-2c86-18e8-8348-9fb54911d5c7\", \"id\": 17016457, \"resourcePrimKey\": 16999757, \"groupId\": 10623376, \"companyId\": 20099, \"userId\": 3899125, \"userName\": \"Danielle Miranda\", \"createDate\": \"Mon Apr 22 22:38:06 GMT 2024\", \"modifiedDate\": \"Wed Apr 24 13:49:19 GMT 2024\", \"externalReferenceCode\": \"c2ae4000-a255-e9dd-bead-af8e42657a72\", \"folderId\": 11449535, \"classNameId\": 0, \"classPK\": 0, \"treePath\": \"/10628776/11449535/\", \"articleId\": \"16999755\", \"version\": 1.1, \"urlTitle\": \"sustentabilidade/prates-diz-que-brasil-tem-responsabilidade-e-dever-de-liderar-a-transicao-energetica\", \"DDMStructureId\": 10628772, \"DDMTemplateKey\": \"\", \"defaultLanguageId\": \"pt_BR\", \"layoutUuid\": \"\", \"displayDate\": \"Mon Apr 22 22:33:00 GMT 2024\", \"expirationDate\": null, \"reviewDate\": null, \"indexable\": true, \"smallImage\": false, \"smallImageId\": 0, \"smallImageSource\": 1, \"smallImageURL\": \"\", \"lastPublishDate\": null, \"status\": 0, \"statusByUserId\": 11888211, \"statusByUserName\": \"Leonardo Bruno Pimenta Melo\", \"statusDate\": \"Wed Apr 24 13:49:19 GMT 2024\"}"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign xmlArticle = journalArticle.g... [in template "20099#20135#11247698" in function "getCardData" at line 84, column 5] ----
1<#-- Conteúdo Web -> Templates: Site de Crise - Include de templates-->
2<#-- include "${templatesPath}/1975602" -->
3
4<#-- Conteúdo Web -> Templates: Site de Crise - Funções gerais-->
5<#include "${templatesPath}/1975398" />
6
7<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
8<#assign fileEntryService = staticUtil["com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil"] />
9<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
10<#assign assetVocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyService") />
11<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
12<#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery')>
13<#assign portalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"]>
14<#assign assetEntryLocalServiceUtil = objectUtil("com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil").getService()>
15
16<#assign vocabularies = assetVocabularyService.getGroupVocabularies(groupId) />
17<#assign editoriaVocabulary = findVocabulary("Editorial", vocabularies) />
18<#assign mediaVocabulary = findVocabulary("Multimidia", vocabularies) />
19
20
21
22
23<#function getFirstCategoryFromVocabulary entry vocabulary>
24 <#assign categories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", entry.getClassPK()) />
25 <#list categories as category>
26 <#assign vocabulary = assetVocabularyService.getVocabulary(category.getVocabularyId()) />
27
28 <#if vocabulary.getVocabularyId() == category.getVocabularyId()>
29 <#return category>
30 </#if>
31 </#list>
32 <#return "">
33</#function>
34
35<#function getAssetEntriesByCategory portalUtil assetEntryLocalServiceUtil newCategoryId vocabularyToExclude>
36 <#attempt >
37 <#assign groupId = themeDisplay.getScopeGroupId()>
38 <#assign companyId = themeDisplay.getCompanyId()>
39 <#assign realUserId = themeDisplay.getDefaultUserId() />
40 <#assign className = "com.liferay.journal.model.JournalArticle">
41 <#assign classNameId = portalUtil.getClassNameId(className)>
42
43 <#assign assetEntryQuery = objectUtil('com.liferay.asset.kernel.service.persistence.AssetEntryQuery') />
44 ${assetEntryQuery.setClassNameIds([classNameId]) }
45 ${assetEntryQuery.setEnd(8)}
46 <#assign notAllCategoryIds = [] />
47 <#list vocabularyToExclude.getCategories() as category>
48 <#assign notAllCategoryIds += [category.getCategoryId()] />
49 </#list>
50 ${assetEntryQuery.setNotAllCategoryIds(notAllCategoryIds)}
51 ${assetEntryQuery.setAllCategoryIds([newCategoryId])}
52
53 <#assign allAssets = assetEntryLocalServiceUtil.getEntries(assetEntryQuery)/>
54
55 <#return allAssets />
56 <#recover >
57 <#return [] />
58 </#attempt>
59</#function>
60
61<#assign rootCss = "card-news_" + randomNumber(4586) />
62<#assign cardMap = {} />
63
64<#-- Função para obter os dados de um card no Web Content (Journal Article) -->
65<#function getCardData entry journalArticleLocalService fileEntryService cardMap>
66
67 <#assign editoria = getFirstCategoryFromVocabulary(entry, editoriaVocabulary) />
68 <#assign editoriaId = -1 />
69 <#if editoria?has_content>
70 <#assign editoriaId = editoria.getCategoryId() />
71 </#if>
72 <#if editoriaId == -1>
73 <#return {} />
74 </#if>
75 <#if cardMap[ editoriaId?string]??>
76 <#if cardMap[editoriaId?string]?size gt 7 >
77 <#return {} />
78 </#if>
79 </#if>
80
81 <#assign journalArticle = journalArticleLocalService.getLatestArticle(entry.getClassPK()) />
82 <#assign ddmStructure = journalArticle.getDDMStructure() />
83 <#assign fieldList = getFieldListByStructure(ddmStructure) />
84 <#assign xmlArticle = journalArticle.getDocument().getRootElement() />
85
86 <#if getStructName(journalArticle) != "Agência de Notícias - Notícia">
87 <#return {} />
88 </#if>
89
90 <#assign imagesGroup = getNodes(getIdFromFieldName(fieldList, "Imagem de destaque da notícia"), xmlArticle) />
91 <#assign image = "" />
92 <#list imagesGroup as imageGroup >
93 <#assign image = getMediaInfo(fieldList, imageGroup, "Imagem Destaque", fileEntryService) /> />
94 </#list>
95
96 <#assign title = getFieldValue(fieldList, xmlArticle, "Título de destaque da notícia") />
97 <#if !(title?has_content && title != "")>
98 <#assign title = journalArticle.getTitle(locale) />
99 </#if>
100
101 <#assign lastPublishDate = journalArticle.getDisplayDate()>
102 <#assign createDate = journalArticle.getCreateDate()>
103
104 <#assign editoria = getFirstCategoryFromVocabulary(entry, editoriaVocabulary) />
105 <#assign editoriaId = -1 />
106 <#if editoria?has_content>
107 <#assign editoriaId = editoria.getCategoryId() />
108 </#if>
109
110 <#assign review = getFieldValue(fieldList, xmlArticle, "Subtítulo") />
111
112 <#assign urlNews = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL + "/w/" + journalArticle.getUrlTitle()>
113
114 <#if themeDisplay.getPortalURL()?contains("webserver")>
115 <#assign urlNews = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + layout.getGroup().friendlyURL + "/w/" + journalArticle.getUrlTitle()>
116 <#else>
117 <#assign urlNews = "/w/" + journalArticle.getUrlTitle()>
118 </#if>
119
120 <#assign cardInfo = {"image": image,
121 "title": title,
122 "lastPublishDate": lastPublishDate,
123 "createDate" : createDate,
124 "editoriaId": editoriaId,
125 "urlNews": urlNews,
126 "review": review} />
127
128 <#if cardMap[editoriaId?string]??>
129 <#assign cardMap = cardMap + {editoriaId : cardMap[editoriaId?string] + [cardInfo]} />
130 <#else>
131 <#assign cardMap = cardMap + {editoriaId : [cardInfo]} />
132 </#if>
133
134 <#return cardInfo />
135
136</#function>
137
138
139<#macro renderCard cardData>
140 <#if !cardData["image"]??>
141 <#return />
142 </#if>
143
144 <div class="card ${rootCss}" category-id="${cardData.editoriaId}">
145 <div class="news-content">
146 <div class="head">
147 <h2 class="title h4">${cardData.title}</h2>
148 <div class="bar"></div>
149 </div>
150 <div class="bottom-wrapper">
151 <div class="link-container">
152 <a class="link" href="${cardData.urlNews}" class="card-news-container">
153 <#if locale?lower_case == "pt_br"> Continuar lendo <#else> Keep reading </#if>
154 <span style="display: none">${randomNumber(10000)}</span> <#-- Devido ao ASESWEB -->
155 </a>
156 </div>
157 </div>
158 </div>
159 </div>
160
161</#macro>
162
163<#assign newsJournalArticle = "">
164<#assign newsAssetEntry = getAssetEntryFromRequest(assetEntryLocalServiceUtil)>
165<#if newsAssetEntry?? && newsAssetEntry?has_content>
166 <#assign newsJournalArticle = journalArticleService.fetchLatestArticle(newsAssetEntry.classPK)/>
167</#if>
168
169<#if newsJournalArticle?? && newsJournalArticle?has_content>
170
171 <#assign newsEditoria = getFirstCategoryFromVocabulary(newsAssetEntry, editoriaVocabulary) />
172 <#assign newsEditoriaId = -1 />
173 <#if newsEditoria?has_content>
174 <#assign newsEditoriaId = newsEditoria.getCategoryId() />
175 </#if>
176
177 <#assign entries = getAssetEntriesByCategory(portalUtil, assetEntryLocalServiceUtil, newsEditoriaId, mediaVocabulary) />
178
179 <#-- Renderizar Lista de cards -->
180 <#if entries?has_content>
181 <#list entries as entry>
182 <#assign cardData = getCardData(entry journalArticleService fileEntryService cardMap) />
183 <@renderCard cardData/>
184 </#list>
185
186 <style>
187 .${rootCss} {
188 width: 306px;
189 border-radius: 16px;
190 border: 1px solid var(--color-neutral-400, #EEE);
191 background: var(--color-neutral-100, #FFF);
192 margin: 0;
193 }
194
195 .${rootCss}:hover {
196 box-shadow: var(--box-shadow-neutral);
197 transition: box-shadow 300ms ease-in-out;
198 }
199
200 .${rootCss} .news-content {
201 padding: var(--space-md, 24px);
202 display: flex;
203 flex-direction: column;
204 height: 100%;
205 background: var(--color-background-card);
206 border-radius: var(--border-radius-card);
207 }
208
209 .${rootCss} img {
210 background: lightgray 50% / cover no-repeat;
211 height: 170px;
212 }
213
214 .${rootCss} .head {
215 display: flex;
216 flex-direction: column;
217 gap: var(--space-xxs, 8px);
218 }
219
220 .${rootCss} .head .date {
221 color: var(--color-neutral-800, #373737);
222 font-family: var(--font-family-base, "Petrobras Sans");
223 font-size: var(--font-size-xxxs, 14px);
224 font-style: var(--font-style-normal, normal);
225 font-weight: var(--font-weight-regular, 400);
226 line-height: var(--line-height-xl, 160%); /* 19.2px */
227 }
228
229 .${rootCss} .head .title {
230 color: var(--color-neutral-800);
231 }
232
233 .${rootCss} .head .bar {
234 background-color: var(--color-secondary-solid-to-bright-200, #FDC82F);
235 height: 4px;
236 width: 20px;
237 margin: var(--space-xs, 12px) 0 var(--space-sm, 16px) 0;
238 }
239
240 .${rootCss} .bottom-wrapper {
241 height: 100%;
242 display: flex;
243 flex-direction: column;
244 justify-content: flex-end;
245 }
246
247 .${rootCss} .bottom-wrapper .review-container {
248 color: var(--color-neutral-800, #373737);
249 font-family: var(--font-family-base, "Petrobras Sans");
250 font-size: var(--font-size-xxs, 16px);
251 font-style: var(--font-style-normal, normal);
252 font-weight: var(--font-weight-regular, 400);
253 line-height: var(--line-height-xl, 160%); /* 22.4px */
254 }
255
256 .${rootCss} .bottom-wrapper .link-container {
257 flex: 0 1 auto;
258 }
259
260 .${rootCss} .bottom-wrapper .link-container .link {
261 color: var(--color-primary-solid-to-bright-200, var(--color-primary-medium));
262 font-family: var(--font-family-base, "Petrobras Sans");
263 font-size: var(--font-size-xxs, 16px);
264 font-style: var(--font-style-normal, normal);
265 font-weight: var(--font-weight-bold, 700);
266 line-height: var(--line-height-lg, 144%); /* 22.4px */
267 text-decoration-line: underline;
268 }
269
270
271 @media screen and (max-width: ${MAX_TABLET_WIDTH}px) {
272 .${rootCss} {
273 flex-direction: column;
274 gap: var(--space-sm, 16px);
275 padding-top: var(--space-md, 24px);
276 min-width: 296px;
277 }
278
279 .${rootCss} img {
280 height: 140px;
281 }
282
283 .${rootCss} .head .date {
284 font-size: 12px;
285 }
286
287 .${rootCss} .head .title {}
288
289 .${rootCss} .head .bar {
290 width: 18px;
291 margin: var(--space-xxs, 8px) 0 var(--space-sm, 16px) 0;
292 }
293
294 .${rootCss} .review-container {
295 font-size: var(--font-size-xxxs, 14px);
296 }
297 }
298 </style>
299 </#if>
300</#if>
Utilize nossa busca para encontrar o que procura
Faça uma busca:
Buscar
Mais pesquisados
Preço dos combustíveis
Pré-Sal
Time Petrobras
Java method "com.liferay.journal.model.impl.JournalArticleImpl.getDocument()" threw an exception when invoked on com.liferay.journal.model.impl.JournalArticleImpl object "{\"mvccVersion\": 1, \"ctCollectionId\": 0, \"uuid\": \"e676f63b-3777-4c00-5a1d-7f604a04072c\", \"id\": 12613261, \"resourcePrimKey\": 10628951, \"groupId\": 10623376, \"companyId\": 20099, \"userId\": 873837, \"userName\": \"Gefersom Lima\", \"createDate\": \"Tue Oct 31 18:45:56 GMT 2023\", \"modifiedDate\": \"Fri Jan 26 22:15:39 GMT 2024\", \"externalReferenceCode\": \"7748054\", \"folderId\": 10628763, \"classNameId\": 0, \"classPK\": 0, \"treePath\": \"/10628763/\", \"articleId\": \"7748054\", \"version\": 1.3, \"urlTitle\": \"configuracao-de-rodape\", \"DDMStructureId\": 10628806, \"DDMTemplateKey\": \"\", \"defaultLanguageId\": \"pt_BR\", \"layoutUuid\": \"\", \"displayDate\": \"Tue Oct 31 18:43:00 GMT 2023\", \"expirationDate\": null, \"reviewDate\": null, \"indexable\": false, \"smallImage\": false, \"smallImageId\": 0, \"smallImageSource\": 1, \"smallImageURL\": \"\", \"lastPublishDate\": null, \"status\": 0, \"statusByUserId\": 873856, \"statusByUserName\": \"Wagner de Melo Reck\", \"statusDate\": \"Fri Jan 26 22:15:39 GMT 2024\"}"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign xmlArticle = article.getDocum... [in template "20099#20135#2683802" in function "extractFooterInfo" at line 30, column 3] - Reached through: @renderSacInfoDates entry, journalArt... [in template "20099#20135#2683802" at line 83, column 5] ----
1<#--
2Widget templates can be used to modify the look of a
3specific application.
4
5Please use the right panel to quickly add commonly used variables.
6Autocomplete is also available and can be invoked by typing "${".
7-->
8
9<#include "${templatesPath}/1975398" />
10
11<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
12<#assign fileEntryService = staticUtil["com.liferay.document.library.kernel.service.DLFileEntryLocalServiceUtil"] />
13
14<#function extractFooterInfo curEntry journalArticleService fileEntryService >
15 <#if !curEntry?? >
16 <#return {}>
17 </#if>
18
19 <#assign article = journalArticleService.getLatestArticle(curEntry.getClassPK()) />
20 <#if !article??>
21 <#return {}>
22 </#if>
23
24 <#assign ddmStructure = article.getDDMStructure()>
25 <#if !ddmStructure??>
26 <#return {}>
27 </#if>
28
29 <#assign fieldList = getFieldListByStructure(ddmStructure) />
30 <#assign xmlArticle = article.getDocument().getRootElement() />
31
32
33 <#assign iconInformation = getMediaInfo(fieldList, xmlArticle, "Acesso à Informação - Imagem", fileEntryService) />
34 <#assign iconSac = getMediaInfo(fieldList, xmlArticle, "SAC Imagem", fileEntryService) />
35 <#assign sacLabel = getFieldValue(fieldList, xmlArticle, "SAC - Rótulo") />
36 <#assign sacNumber = getFieldValue(fieldList, xmlArticle, "SAC - Número") />
37 <#assign informationLabel = getFieldValue(fieldList, xmlArticle, "Acesso à Informação") />
38 <#assign transparencyLabel = getFieldValue(fieldList, xmlArticle, "Portal da Transparencia - Rótulo") />
39 <#assign transparencyLink = getFieldValue(fieldList, xmlArticle, "Portal da Transparencia - Link") />
40
41
42 <#return {
43 "iconInformation": iconInformation,
44 "iconSac" : iconSac,
45 "sacLabel" : sacLabel,
46 "sacNumber" : sacNumber,
47 "informationLabel": informationLabel,
48 "transparencyLabel": transparencyLabel,
49 "transparencyLink": transparencyLink
50 }>
51
52</#function>
53
54
55<#macro renderSacInfoDates entry journalArticleService fileEntryService >
56 <#assign info = extractFooterInfo(entry journalArticleService fileEntryService) />
57 <div class="footer-informations">
58 <div class="sac-information icons-container">
59
60 <img alt="${info.iconSac.alt}" src="${info.iconSac.url}"/>
61 <div class="icons-texts">
62 <p class="button-xs-regular" >${info.sacLabel}</p>
63 <p class="button-xs-bold">${info.sacNumber}</p>
64 </div>
65 </div>
66
67 <div class="logo-informations icons-container">
68 <img alt="${info.iconInformation.alt}" src="${info.iconInformation.url}"/>
69 <div class="icons-texts">
70 <p class="button-xs-regular">
71 ${info.informationLabel}
72 </p>
73 <a class="button-xs-bold" open="_blank"
74 href='${info.transparencyLink}'>
75 ${info.transparencyLabel}
76 </a>
77 </div>
78 </div>
79 </div>
80</#macro>
81
82<#if entry?has_content>
83 <@renderSacInfoDates entry journalArticleService fileEntryService />
84</#if>
85
86
87<style>
88
89 .footer-informations {
90 display: flex;
91 justify-content: center;
92 align-items: center;
93 }
94
95 .footer-informations .icons-container img {
96 width: 29px;
97 height: 29px;
98 margin: 5px 8px 0 0;
99 }
100
101 .footer-informations .icons-container {
102 color: var(--color-text-primary-default);
103 display: flex;
104 }
105
106 .footer-informations .logo-informations {
107 padding-left: calc(var(--space-lg)/2);
108 display: flex;
109 }
110
111 .footer-informations .icons-container .icons-texts * {
112 color: var(--color-text-primary-default);
113 }
114
115 .footer-informations .sac-information .icons-texts {
116 border-right: 1px solid var(--border-color-light);
117 }
118
119
120 .footer-informations .icons-container .icons-texts {
121 padding-right: calc(var(--space-lg)/2);
122 display: flex;
123 flex-direction: column;
124
125 }
126
127 @media screen and (max-width: 767px) {
128
129 .footer-informations {
130 flex-direction: column;
131 }
132
133 .footer-informations .icons-container {
134 margin-bottom: 16px !important;
135 }
136
137 .footer-informations .sac-information .icons-texts {
138 border-right: none;
139 }
140
141 .footer-informations .logo-informations {
142 margin-bottom: 16px;
143 padding: 0;
144 }
145
146 }
147
148</style>
- Assessoria de Imprensa
- Categorias
- Acesse também
Java method "com.liferay.journal.model.impl.JournalArticleImpl.getDocument()" threw an exception when invoked on com.liferay.journal.model.impl.JournalArticleImpl object "{\"mvccVersion\": 1, \"ctCollectionId\": 0, \"uuid\": \"e676f63b-3777-4c00-5a1d-7f604a04072c\", \"id\": 12613261, \"resourcePrimKey\": 10628951, \"groupId\": 10623376, \"companyId\": 20099, \"userId\": 873837, \"userName\": \"Gefersom Lima\", \"createDate\": \"Tue Oct 31 18:45:56 GMT 2023\", \"modifiedDate\": \"Fri Jan 26 22:15:39 GMT 2024\", \"externalReferenceCode\": \"7748054\", \"folderId\": 10628763, \"classNameId\": 0, \"classPK\": 0, \"treePath\": \"/10628763/\", \"articleId\": \"7748054\", \"version\": 1.3, \"urlTitle\": \"configuracao-de-rodape\", \"DDMStructureId\": 10628806, \"DDMTemplateKey\": \"\", \"defaultLanguageId\": \"pt_BR\", \"layoutUuid\": \"\", \"displayDate\": \"Tue Oct 31 18:43:00 GMT 2023\", \"expirationDate\": null, \"reviewDate\": null, \"indexable\": false, \"smallImage\": false, \"smallImageId\": 0, \"smallImageSource\": 1, \"smallImageURL\": \"\", \"lastPublishDate\": null, \"status\": 0, \"statusByUserId\": 873856, \"statusByUserName\": \"Wagner de Melo Reck\", \"statusDate\": \"Fri Jan 26 22:15:39 GMT 2024\"}"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign xmlArticle = article.getDocum... [in template "20099#20135#2683780" in function "extractFooterInfo" at line 31, column 3] - Reached through: @renderConfigFooterDates entry, journ... [in template "20099#20135#2683780" at line 82, column 5] ----
1<#--
2Widget templates can be used to modify the look of a
3specific application.
4
5Please use the right panel to quickly add commonly used variables.
6Autocomplete is also available and can be invoked by typing "${".
7-->
8
9<#include "${templatesPath}/1975398" />
10
11<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
12
13<#function extractFooterInfo curEntry journalArticleService >
14 <#if !curEntry?? >
15 <#return {} />
16 </#if>
17
18 <#assign article = journalArticleService.getLatestArticle(curEntry.getClassPK()) />
19 <#if !article??>
20 <#return {} />
21 </#if>
22
23 <#assign ddmStructure = article.getDDMStructure() />
24 <#if !ddmStructure??>
25 <#return {} />
26 </#if>
27
28 <#assign productCategories = [] />
29
30 <#assign fieldList = getFieldListByStructure(ddmStructure) />
31 <#assign xmlArticle = article.getDocument().getRootElement() />
32
33
34 <#assign cookiesLabel = getFieldValue(fieldList, xmlArticle, "Definições de Cookies - Rótulo") />
35 <#assign copyrightMessage = getFieldValue(fieldList, xmlArticle, "Mensagem de Copyright") />
36
37 <#assign linkItemGroupXMLList = getNodesByLabel(fieldList, xmlArticle, "Links do rodapé")>
38 <#assign linksAndLabels = []>
39 <#list linkItemGroupXMLList as linkItemGroupXML>
40 <#assign obj = {
41 "link": getFieldValue(fieldList, linkItemGroupXML, "Link"),
42 "label": getFieldValue(fieldList, linkItemGroupXML, "Rótulo")
43 } />
44 <#assign linksAndLabels = linksAndLabels + [obj] />
45 </#list>
46 <#return {
47 "linksAndLabels": linksAndLabels,
48 "cookiesLabel" : cookiesLabel,
49 "copyrightMessage": copyrightMessage
50 } />
51</#function>
52
53
54<#macro renderConfigFooterDates entry journalArticleService >
55 <#assign info = extractFooterInfo(entry journalArticleService) />
56
57
58 <div class="fragment-footer breakpoint" id="pet-fragment-footer">
59
60 <div class="petrobras-footer col-1-12 md-col-1-8 sm-col-1-4">
61 <div class="footer-other-links-container">
62 <div class="footer-links">
63 <a class="menu-item-footer button-sm-regular ot-sdk-show-settings" id="ot-sdk-btn" target="_blank" tabindex="0">${info.cookiesLabel} </a>
64 <#list info.linksAndLabels as link>
65 <a class="button-sm-regular" open="_blank"
66 href='${link.link}'
67 tabindex="0">
68 ${link.label}
69 </a>
70 </#list>
71 </div>
72 <p class="footer_copyright button-sm-regular">${info.copyrightMessage}</p>
73 </div>
74 </div>
75
76
77 </div>
78
79</#macro>
80
81<#if entry?has_content>
82 <@renderConfigFooterDates entry journalArticleService />
83</#if>
84
85
86<style>
87
88
89 .petrobras-footer * {
90 margin: 0;
91 padding: 0;
92 }
93
94 .petrobras-footer {
95 display: flex;
96 justify-content: space-between;
97 font-family: var(--font-family-base);
98 width: 100%;
99 background: var(--color-background-default-level-02)
100 }
101
102
103 .petrobras-footer .footer-other-links-container {
104 display: flex;
105 justify-content: space-between;
106 gap: 16px;
107 width: 100%;
108 margin: var(--space-xl) 0 !important;
109 }
110
111 .petrobras-footer .footer-other-links-container .footer-links {
112 display: flex;
113 gap: var(--space-md);
114 }
115
116 .petrobras-footer .footer-other-links-container .footer-links p,
117 .petrobras-footer .footer-other-links-container .footer-links a {
118 color: var(--color-text-primary-default);
119 }
120
121 /*Cookies button*/
122 .petrobras-footer .footer-other-links-container .footer-links
123 #ot-sdk-btn.ot-sdk-show-settings, #ot-sdk-btn.optanon-show-settings {
124 color: var(--color-text-primary-default);
125 border: none;
126 padding: 0;
127 font-size: var(--font-size-xxxs);
128 line-height: var(--line-height-lg);
129 }
130
131 .petrobras-footer .footer-other-links-container .footer-links
132 #ot-sdk-btn.ot-sdk-show-settings:hover, #ot-sdk-btn.optanon-show-settings:hover {
133 background: transparent;
134 color: var(--color-neutral-800);
135 }
136
137
138 .petrobras-footer .footer-other-links-container .footer_copyright {
139 color: var(--color-neutral-dark-to-bright-300, var(--color-neutral-600));
140 }
141
142
143
144 @media (max-width: 1200px) {
145
146 .petrobras-footer .footer-other-links-container {
147 display: flex;
148 flex-direction: column;
149 margin: 48px auto 55px auto;
150 align-items: center;
151 text-align: center;
152 justify-content: flex-start;
153 gap: var(--space-md);
154 }
155
156 .petrobras-footer .footer-other-links-container p {
157 margin-left: 0;
158 }
159
160 .petrobras-footer .footer-other-links-container .footer-links {
161 display: flex;
162 flex-direction: column;
163 gap: var(--space-md);
164 }
165
166
167 .petrobras-footer .footer-other-links-container .footer-links a,
168 .petrobras-footer .footer-other-links-container .footer-links p {
169 margin-left: 0;
170 }
171
172 }
173
174 @media (max-width: 767px) {
175
176 .petrobras-footer .footer-other-links-container .footer_copyright {
177 padding-bottom: 25px;
178 }
179 }
180
181</style>
Canais
Idioma
Acessibilidade
Busca
Faça uma busca:
Buscar
Mais pesquisados
Preço dos combustíveis
Pré-Sal
Time Petrobras